package com.bsoft.gol.hcs.clinical.service;

import com.bsoft.gol.hcs.clinical.bean.req.*;
import com.bsoft.gol.hcs.clinical.bean.response.*;
import com.bsoft.gol.hcs.clinical.bean.vo.*;
import ctd.controller.exception.ControllerException;
import ctd.util.annotation.RpcService;
import hcn.util.BaseResponse;

import java.util.List;

/**
 * 治疗申请单
 */
public interface TreatmentApplicationService  {


    @RpcService
    List<TreatmentItemTypeListResp> findTreatmentItemTypeList(TreatmentApplicationRequest request);

    @RpcService
    List<TreatmentItemTypeList> getTreatmentItem(GetTreatmentItemRequest request);

    @RpcService
    List<TreatmentCodeVo> getTreatmentItemList();

    @RpcService
    List<MeridianList> getMeridianList(TreatmentApplicationRequest request);

    @RpcService
    List<TreatmentSetList> getTreatmentSet(TreatmentApplicationRequest request);

    @RpcService
    List<TreatmentSetDetailList> getTreatmentSetDetail(TreatmentSetDetailRequest request);

    @RpcService
    void addTreatmentRequest(AddTreatmentRequest request) throws ControllerException ;

    @RpcService
    QueryTreatmentResp queryTreatmentRequest(QueryTreatmentRequest request);

    BaseResponse<QueryTreatmentReportResp> queryTreatmentReport(GetTreatmentApplicationRequest request) throws ControllerException;

    @RpcService
    List<FindTreatmentApplicationListResp> findTreatmentApplicationList(FindTreatmentApplicationListRequest request) throws ControllerException;

    @RpcService
    BaseResponse returnTreatmentRequest(ReturnTreatmentRequest request) throws ControllerException;

    @RpcService
    TreatmentApplicationResp getTreatmentApplication(GetTreatmentApplicationRequest request) throws ControllerException;

    @RpcService
    void updateTreatment(TreatmentApplicationResp request);

    @RpcService
    void delete(GetTreatmentApplicationRequest request) throws ControllerException;

    @RpcService
    TreatmentCountResp count(GetTreatmentApplicationRequest request) throws ControllerException;

    @RpcService
    void submitTreatment(SubmitTreatmentRequest request) throws ControllerException;

}
